Communication networks typically include a plurality of switches that are intercoupled to allow data to be communicated among the switches and hosts that are coupled to the communication network. Each host may be an individual user such as a personal computer, telephone, facsimile machine, etc. In other cases, a host may be other network components such as a server, private branch exchange (PBX), etc.
A variety of protocols have been developed to allow for data communication in such communication networks. One data communication protocol is asynchronous transfer mode (ATM), which transmits data between hosts using fixed-length cells. Virtual connections may be established between switches and/or hosts such that cells corresponding to a particular communication may be routed over such virtual connections in an efficient manner. Each virtual connection may be identified by an individual virtual connection identifier (VCI) that is included in each cell such that each switch knows how to forward the particular cell so that it reaches its proper destination.
ATM switches are typically capable of supporting a number of classes of service, where each class of service (COS) has a set of parameters that relate to how the data is transmitted. For example, one class of service may provide a certain bandwidth guarantee, a certain cell loss ratio, and a certain maximum delay for transmission. A different class of service may also have values for these parameters, where the values may indicate that the first class of service is superior to the second class of service. The various classes of service commonly available in ATM are well known in the art, and various parameters within each class of service may be configured within a particular system based on the physical limitations present in the network as well as the needs of the users.
Another data communication protocol is Internet Protocol (IP). IP data transmission utilizes packets of data, where the packets may not be of a fixed length. In a communication network that supports IP, the switches are commonly referred to as routers, as they route the IP traffic based on the destination address for the packet. The next hop, or the next router to which the packet is to be forwarded, is often determined using a longest prefix match on the destination IP address. Thus, forwarding of an IP packet within a router is performed in a different manner than determining an egress connection for an ATM cell in an ATM switch.
In some cases, it is desirable to allow a particular communication network to carry data traffic corresponding to a number of different protocols. For example, it may be desirable to have a communication network that supports both ATM and IP traffic. In order to simplify the network, it may be desirable to include switching blocks (which may be switches or routers) that support the forwarding of both ATM and IP traffic.
Therefore, a need exists for a multi-protocol switching block that supports a number of different data communication protocols in an efficient manner.